#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
const int MAXN=150;
char o[MAXN][MAXN];
int idx[MAXN][MAXN];
int n,m;
void dfs(int r,int c,int id){
    if(r<0 || r>=m || c<0 || c>=n){
        return;
    }
    if(idx[r][c]>0 || o[r][c]!='@'){
        return;
    }
    idx[r][c]=id;
    for(int dr=-1;dr<=1;dr++){
        for(int dc=-1;dc<=1;dc++){
            if(dr!=0 || dc!=0){
                dfs(r+dr,c+dc,id);
            }
        }
    }
}
int main(void){
    while(scanf("%d%d",&m,&n)!=EOF){
        if(m==0 && n==0){
            break;
        }
        for(int i=0;i<m;i++){
            scanf("%s",o[i]);
        }
        int cnt=0;
        memset(idx,0,sizeof(idx));
        for(int i=0;i<m;i++){
            for(int j=0;j<n;j++){
                if(idx[i][j]==0 && o[i][j]=='@'){
                    dfs(i,j,++cnt);
                }
            }
        }
        printf("%d\n",cnt);
    }
    return 0;
}
